﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Cliente
{
    public partial class Principal : Form
    {
        String peticion;
        String numero = "";
        String clave = "";
        Boolean tjta = true;

        public Principal()
        {
            InitializeComponent();
        }

        public void reset(){
            tjta = true;
            textTjta.Focus();
            textTjta.Clear();
            textClave.Clear();
	        numero = "";
	        clave = "";
        }

        public void actualizar(){
	        String asteriscos = "";
            if (clave.Length!=0)
            {
                for (int i = 0; i < clave.Length-1; i++)
                    asteriscos += "•";
                asteriscos += clave.Substring(clave.Length-1,1);//obtener caracter en clave.longitud - 1; 
            }
            textTjta.Text = numero; //mostrar numero
            textClave.Text = asteriscos; //mostrar asteriscos
        }

        public void agregar(String n) {
            if (tjta)
            {
                if (numero.Length < 10)
                    numero += n;
            }
            else
            {
                if (clave.Length < 10)
                    clave += n;
            }
            actualizar();
        }

        public Boolean validarTarjeta() {
            if (numero.Length != 10)
            {
                MessageBox.Show("Campo ''Nro. Tarjeta'' incompleto");
                return false;
            }
            return true;
        }

        public Boolean validarClave() {
            int longitud = clave.Length;
            if (longitud == 0)
            {
                MessageBox.Show("Campo ''Clave'' vacío");
                return false;
            }
            if (longitud < 10) {
                for (int i =0 ; i < 10 - longitud; i++)
                    clave += "*";                
            }
            return true;
        }


        private void Principal_Load(object sender, EventArgs e)
        {

        }

        private void validarCoincidencia()
        {
                peticion = clave + numero;
                String respuesta = cliente.enviar("L"+peticion);
                if (respuesta == "N")
                {
                    MessageBox.Show("Datos no coinciden");
                    reset();
                }
                else
                {
                    new Operaciones(peticion).Visible = true;
                    this.Visible = false;
                }
        }

        private void labelBorrar_Click(object sender, EventArgs e)
        {
            if ((tjta) && (textTjta.Text!=""))
                numero = numero.Substring(0, numero.Length - 1);//quitar un caracter
            if ((!tjta) && (textClave.Text != ""))
                clave = clave.Substring(0, clave.Length - 1); //quitar un caracter          
            actualizar();
        }

        private void labelContinuar_Click(object sender, EventArgs e)
        {
            if (tjta)
            {
                if (!validarTarjeta())
                    return;
                else
                    textClave.Focus();
            }
            tjta = !tjta;
            if (tjta)
            {
                if (!validarClave())
                    return;
                validarCoincidencia();
            }
            
        }

        private void labelCancelar_Click(object sender, EventArgs e)
        {
            reset();
        }

        private void num1_Click(object sender, EventArgs e)
        {
            agregar("1");
        }

        private void num2_Click(object sender, EventArgs e)
        {
            agregar("2");
        }

        private void num3_Click(object sender, EventArgs e)
        {
            agregar("3");
        }

        private void num4_Click(object sender, EventArgs e)
        {
            agregar("4");
        }

        private void num5_Click(object sender, EventArgs e)
        {
            agregar("5");
        }

        private void num6_Click(object sender, EventArgs e)
        {
            agregar("6");
        }

        private void num7_Click(object sender, EventArgs e)
        {
            agregar("7");
        }

        private void num8_Click(object sender, EventArgs e)
        {
            agregar("8");
        }

        private void num9_Click(object sender, EventArgs e)
        {
            agregar("9");
        }

        private void num0_Click(object sender, EventArgs e)
        {
            agregar("0");
        }

        private void Principal_Load_1(object sender, EventArgs e)
        {

        }


    }
}
